home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / m / maxonc++3.dms / maxonc++3.adf / Libs / MODULA2 / RCT.def < prev   
Text File  |  1978-10-11  |  12KB  |  241 lines

  1. (*****************************************************************************
  2. *                                                                            *
  3. *               RCT-Schnittstelle für Modula-2 ( M2Amiga V 4.0 )             *
  4. *                                                                            *
  5. *                               Version 1.5                                  *
  6. *                                                                            *
  7. ******************************************************************************)
  8.  
  9. DEFINITION MODULE RCT {"rct.library",15};
  10.  
  11.   FROM SYSTEM     IMPORT ADDRESS;
  12.   FROM IntuitionD IMPORT WindowPtr,ScreenPtr,RequesterPtr,MenuPtr,IDCMPFlagSet;
  13.   FROM GraphicsD  IMPORT ViewModeSet;
  14.   FROM ExecD      IMPORT MsgPortPtr,MessagePtr;
  15.   IMPORT R;
  16.  
  17.   CONST
  18.     DSIZE      = 130; (* Größe des Feldes, in dem der Pfad gespeichert
  19.                          wird *)
  20.     FSIZE      =  30; (* Größe des Felder, in dem der Dateiname gespeichert
  21.                          wird *)
  22.     PSIZE      = FSIZE+DSIZE+1;
  23.                       (* Größe des Feldes, in dem der komplette Pfadname
  24.                          gespeichert wird *)
  25.     WILDLENGTH =  30; (* Größe der Felder 'Hide' und 'Show' *)
  26.   TYPE
  27.     FileReqFlags   = (showInfo,extendedSelect,caching,font,infoGad,hideWild,
  28.                       absoluteXY,purge,noHalfCache,noSort,noDrag,save,load,
  29.                       dirOnly,noDepth,c15,c16,c17,c18,c19,c20,c21,c22,c23,
  30.                       c24,c25,c26,c27,c28,c29,c30,c31);
  31.     FileReqFlagSet = SET OF FileReqFlags;
  32.  
  33.     (* Struktur, in der alle für das Dateiauswahlrequester relevanten Werte
  34.        gespeichert sind. Wenn Sie sich nicht näher damit befassen wollen,
  35.        brauchen Sie nur die gesamte Struktur mit Nullen füllen. Sie müssen
  36.        dann nur noch 'dir', 'file', 'path' und 'flags' setzen.
  37.        Sehen Sie bitte, wenn Sie an der Bedeutung der einzelnen Punkte
  38.        interessiert sind, in dem Text 'rctdef.h' nach!
  39.     *)
  40.  
  41.     RCTFileRequester = RECORD
  42.                          version                  : INTEGER;
  43.                          title                    : ADDRESS;
  44.                          dir                      : ADDRESS;
  45.                          (* Hier müssen Sie einen Pointer auf ein Feld ein-
  46.                             tragen, das aus DSIZE+1 Chars besteht
  47.                             ( ARRAY [0..DSIZE] ). *)
  48.                          file                     : ADDRESS;
  49.                          (* Hier müssen Sie einen Pointer auf ein Feld ein-
  50.                             tragen, das aus FSIZE+1 Chars besteht
  51.                             ( ARRAY [0..FSIZE] ). *)
  52.                          path                     : ADDRESS;
  53.                          (* Hier müssen Sie einen Pointer auf ein Feld ein-
  54.                             tragen, das aus DSIZE+FSIZE+2 Chars besteht
  55.                             ( ARRAY [0..DSIZE+FSIZE+1] ). *)
  56.                          wp                       : WindowPtr;
  57.                          maxex,
  58.                          lines,
  59.                          columns,
  60.                          devcolumns               : INTEGER;
  61.                          flags                    : FileReqFlagSet;
  62.                          dircol,filecol,devcol,
  63.                           fontcol,sizecol,detcol,
  64.                           blockcol,gadcol,textcol,
  65.                           stringnamecol,stringgadcol,
  66.                           boxcol,gadboxcol        : INTEGER;
  67.                          pad                      : ARRAY [0..17] OF CARDINAL;
  68.                          datestamp                : ARRAY [0..2] OF LONGINT;
  69.                          left,top,fonty,fontstyle : INTEGER;
  70.                          esstruct                 : ADDRESS;
  71.                          hide,show : ARRAY [0..WILDLENGTH+1] OF CHAR;
  72.                          filebufpos,filedisppos,
  73.                           dirbufpos,dirdisppos,
  74.                           hidebufpos,hidedisppos,
  75.                            showbufpos,showdisppos : INTEGER;
  76.                          mem,mem2,lock            : ADDRESS;
  77.                          privbuf                  : ARRAY [0..DSIZE+1] OF CHAR;
  78.                          fileinfo                 : ADDRESS;
  79.                          nument,numhidd,
  80.                           filestart,devstart      : INTEGER;
  81.                        END;
  82.  
  83. PROCEDURE RctLoad(pfad{R.A0}:ADDRESS):ADDRESS; CODE -30;
  84.  
  85. PROCEDURE RctFree(rctadr{R.A0}:ADDRESS):BOOLEAN; CODE -36;
  86.  
  87. PROCEDURE RctAddr(rctadr{R.A0}:ADDRESS; art{R.D0}:BOOLEAN;
  88.                   id{R.D1}:CARDINAL):ADDRESS; CODE -42;
  89.  
  90. PROCEDURE ReqCenter(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  91.                     window{R.A2}:WindowPtr):BOOLEAN; CODE -48;
  92.  
  93. PROCEDURE ReqDraw(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  94.                   window{R.A2}:WindowPtr):BOOLEAN; CODE -54;
  95.  
  96. PROCEDURE ReqDrawWindow(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  97.                         screen{R.A2}:ScreenPtr; titel{R.A3}:ADDRESS):WindowPtr; CODE -264;
  98.  
  99. PROCEDURE ReqEnd(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  100.                  window{R.A2}:WindowPtr):BOOLEAN; CODE -60;
  101.  
  102. PROCEDURE ReqWait(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  103.                   messageart{R.A2}:ADDRESS):CARDINAL; CODE -270;
  104.   (* bei 'messageart' müssen Sie die Adresse Ihres IDCMPFlagSets angeben! *)
  105.  
  106. PROCEDURE GetReqStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  107.                        item{R.D0}:CARDINAL):LONGINT; CODE -66;
  108.  
  109. PROCEDURE SetReqStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  110.                        item{R.D0}:CARDINAL; wert{R.D1}:LONGINT):BOOLEAN; CODE -72;
  111.  
  112. PROCEDURE SetReqText(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr; id{R.D0}:CARDINAL;
  113.                      string{R.A2}:ADDRESS):BOOLEAN; CODE -78;
  114.  
  115. PROCEDURE GetReqText(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  116.                      id{R.D0}:CARDINAL):ADDRESS; CODE -84;
  117.  
  118. PROCEDURE GetTextStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  119.                         id{R.D0}:CARDINAL; item{R.D1}:CARDINAL):LONGINT; CODE -90;
  120.  
  121. PROCEDURE SetTextStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  122.                         id{R.D0}:CARDINAL; item{R.D1}:CARDINAL;
  123.                         wert{R.D2}:LONGINT):BOOLEAN; CODE -96;
  124.  
  125. PROCEDURE SetGadText(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  126.                      id{R.D0}:CARDINAL; string{R.A2}:ADDRESS):BOOLEAN; CODE -102;
  127.  
  128. PROCEDURE GetGadText(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  129.                      id{R.D0}:CARDINAL):ADDRESS; CODE -108;
  130.  
  131. PROCEDURE GetGadStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  132.                        id{R.D0}:CARDINAL; item{R.D1}:CARDINAL):LONGINT; CODE -114;
  133.  
  134. PROCEDURE SetGadStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  135.                        id{R.D0}:CARDINAL; item{R.D1}:CARDINAL;
  136.                        wert{R.D2}:LONGINT):BOOLEAN; CODE -120;
  137.  
  138. PROCEDURE RedrawGadgets(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  139.                         id{R.D0}:CARDINAL):BOOLEAN; CODE -126;
  140.  
  141. PROCEDURE RedrawGad(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  142.                     id{R.D0}:CARDINAL; anzahl{R.D1}:CARDINAL):BOOLEAN; CODE -132;
  143.  
  144. PROCEDURE ActiveGad(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  145.                     id{R.D0}:CARDINAL):BOOLEAN; CODE -138;
  146.  
  147. PROCEDURE SetStrGadText(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  148.                         id{R.D0}:CARDINAL; string{R.A2}:ADDRESS):BOOLEAN; CODE -144;
  149.  
  150. PROCEDURE GetStrGadText(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  151.                         id{R.D0}:CARDINAL):ADDRESS; CODE -150;
  152.  
  153. PROCEDURE GetStrGadStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  154.                           id{R.D0}:CARDINAL; item{R.D1}:CARDINAL):LONGINT; CODE -162;
  155.  
  156. PROCEDURE SetStrGadStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  157.                           id{R.D0}:CARDINAL; item{R.D1}:CARDINAL;
  158.                           wert{R.D2}:LONGINT):BOOLEAN; CODE -156;
  159.  
  160. PROCEDURE GetPropGadStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  161.                            id{R.D0}:CARDINAL; item{R.D1}:CARDINAL):LONGINT; CODE -174;
  162.  
  163. PROCEDURE SetPropGadStruct(base{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  164.                            id{R.D0}:CARDINAL; item{R.D1}:CARDINAL;
  165.                            wert{R.D2}:LONGINT):BOOLEAN; CODE -168;
  166.  
  167. PROCEDURE MenuDraw(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  168.                    window{R.A2}:WindowPtr):BOOLEAN; CODE -180;
  169.  
  170. PROCEDURE MenuEnd(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  171.                   window{R.A2}:WindowPtr):BOOLEAN; CODE -186;
  172.  
  173. PROCEDURE SetMenuTitle(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  174.                        menuid{R.D0}:LONGCARD;
  175.                        string{R.A2}:ADDRESS):BOOLEAN; CODE -192;
  176.  
  177. PROCEDURE GetMenuTitle(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  178.                        menuid{R.D0}:LONGCARD):ADDRESS; CODE -198;
  179.  
  180. PROCEDURE SetMenuStruct(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  181.                         menuid{R.D0}:LONGCARD; item{R.D1}:LONGCARD;
  182.                         wert{R.D2}:LONGINT):BOOLEAN; CODE -204;
  183.  
  184. PROCEDURE GetMenuStruct(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  185.                         menuid{R.D0}:LONGCARD;
  186.                         item{R.D1}:LONGCARD):LONGINT; CODE -210;
  187.  
  188. PROCEDURE SetMenuIText(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  189.                        menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  190.                        string{R.A2}:ADDRESS):BOOLEAN; CODE -216;
  191.  
  192. PROCEDURE GetMenuIText(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  193.                        menuid{R.D0}:LONGCARD;
  194.                        itemid{R.D1}:LONGCARD):ADDRESS; CODE -222;
  195.  
  196. PROCEDURE SetMenuItemStruct(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  197.                             menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  198.                             item{R.D2}:LONGCARD; wert{R.D3}:LONGINT):BOOLEAN; CODE -228;
  199.  
  200. PROCEDURE GetMenuItemStruct(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  201.                             menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  202.                             item{R.D2}:LONGCARD):LONGINT; CODE -234;
  203.  
  204. PROCEDURE SetMenusText(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  205.                        menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  206.                        subid{R.D2}:LONGCARD; string{R.A2}:ADDRESS):BOOLEAN; CODE -240;
  207.  
  208. PROCEDURE GetMenusText(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  209.                        menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  210.                        subid{R.D2}:LONGCARD):ADDRESS; CODE -246;
  211.  
  212. PROCEDURE SetMenuSubStruct(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  213.                            menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  214.                            subid{R.D2}:LONGCARD; item{R.D3}:LONGCARD;
  215.                            wert{R.D4}:LONGINT):BOOLEAN; CODE -252;
  216.  
  217. PROCEDURE GetMenuSubStruct(base{R.A0}:ADDRESS; menu{R.A1}:MenuPtr;
  218.                            menuid{R.D0}:LONGCARD; itemid{R.D1}:LONGCARD;
  219.                            subid{R.D2}:LONGCARD; item{R.D3}:LONGCARD):LONGINT; CODE -258;
  220.  
  221. PROCEDURE ShowScreen(rctadr{R.A0}:ADDRESS; mode{R.D0}:ViewModeSet;
  222.                      depth{R.D1}:LONGCARD; title{R.A1}:ADDRESS):ScreenPtr; CODE -276;
  223.  
  224. PROCEDURE RemScreen(rctadr{R.A0}:ADDRESS; screen{R.A1}:ScreenPtr):BOOLEAN; CODE -282;
  225.  
  226. PROCEDURE Alert(default{R.D0}:INTEGER; string{R.A0}:ADDRESS):INTEGER; CODE -288;
  227.  
  228. PROCEDURE FileReq(filer{R.A0}:ADDRESS):BOOLEAN; CODE -294;
  229.  
  230. PROCEDURE FilerCacheFree(filer{R.A0}:ADDRESS):BOOLEAN; CODE -300;
  231.  
  232. PROCEDURE Waitall(port{R.A0}:MsgPortPtr; message{R.A1}:MessagePtr); CODE -306;
  233.  
  234. PROCEDURE GadDrawWindow(rctadr{R.A0}:ADDRESS; req{R.A1}:RequesterPtr;
  235.                         screen{R.A2}:ScreenPtr; title{R.A3}:ADDRESS;
  236.                         idcmp{R.D0}:LONGINT; flags{R.D1}:LONGINT):WindowPtr; CODE -312;
  237.  
  238. PROCEDURE GetPattern(rctadr{R.A0}:ADDRESS; index{R.D0}:LONGINT):ADDRESS; CODE -318;
  239.  
  240. END RCT.def
  241.